package aiku.numericalcontroloa.Service.FinanceManagement;


import aiku.numericalcontroloa.Base.Utils.Result;
import aiku.numericalcontroloa.Model.Dto.FinanceManagement.AccountDto;
import aiku.numericalcontroloa.Model.Dto.FinanceManagement.IncomeExpenditureDetailDto;

/**
 * 账号服务层
 * @Author 黄广庭
 * @Date 2024/5/7 12:04
 */
public interface AccountService {

    /**
     * 添加账户
     * @param accountDto
     * @return
     */
    Result addAccount(AccountDto accountDto);

    /**
     * 修改账户
     * @param accountDto
     * @return
     */
    Result updateAccount(AccountDto accountDto);

    /**
     * 获取账户列表，含收支
     * @param accountDto
     * @return
     */
    Result getAccountDetailList(AccountDto accountDto);

    /**
     * 获取单个账户，不含收支
     * @param accountDto
     * @return
     */
    Result getAccount(AccountDto accountDto);

    /**
     * 获取账户列表，不含收支
     * @param accountDto
     * @return
     */
    Result getAccountList(AccountDto accountDto);

    /**
     * 删除账户
     * @param accountDto
     * @return
     */
    Result deleteAccount(AccountDto accountDto);

    /**
     * 获取账户明细列表
     * @param detailDto
     * @return
     */
    Result getAccountIncomeExpenditureDetailList(IncomeExpenditureDetailDto detailDto);

    /**
     * 修改备注
     * @param detailDto
     * @return
     */
    Result updateDetailRemark(IncomeExpenditureDetailDto detailDto);
}
